home *** CD-ROM | disk | FTP | other *** search
/ The Business Master (3rd Edition) / The Business Master (3rd Edition).iso / files / spreotus / 123fin / printcon.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1985-03-31  |  3.4 KB  |  57 lines

  1. 100  ' IBM MATRIX PRINTER CONTROL Copyright (c) 1983 Roxanne Katt
  2. 140  OPTION BASE 1:DEFINT A-Z:CLS:KEY OFF:DIM VL$(8),VL(8),LN(8,2),LIM(3,2)
  3. 160  KEY 1,"1":KEY 2,"2":KEY 3,"3":KEY 4,"4":KEY 5,"5":KEY 6,"6":KEY 7,"7":KEY 8,"8":KEY 9,"9":KEY 10,"0":GOSUB 1000:GOSUB 2000
  4. 180  GOSUB 3000
  5. 190  LOCATE 23,27:PRINT "SETTINGS O.K.?":LOCATE 23,43,1
  6. 200  A$=INKEY$:IF A$="" GOTO 200
  7. 210  IF A$<>"Y" AND A$<>"y" THEN LOCATE 23,27:PRINT SPACE$(20):GOTO 180
  8. 211  GOSUB 4000:LOCATE 23,23:PRINT "PRINT TEST PATTERN?":LOCATE 23,43,1
  9. 212  A$=INKEY$:IF A$="" GOTO 212
  10. 213  IF A$<>"Y" AND A$<>"y" GOTO 216
  11. 214  LPRINT "TEST LINE ONE":LPRINT "TEST LINE TWO":LPRINT "TEST LINE THREE":LPRINT CHR$(VL(1));:LOCATE 23,23,0:PRINT SPACE$(20):GOTO 190
  12. 216  CLS:LOCATE 19,8:PRINT CHR$(201)+STRING$(57,205)+CHR$(187):LOCATE 20,8:PRINT CHR$(186)+SPACE$(57)+CHR$(186):LOCATE 21,8:PRINT CHR$(186)+"    CONTROL CODES SET.   E N D   O F   P R O G R A M.    "+CHR$(186)
  13. 219  LOCATE 22,8:PRINT CHR$(186)+SPACE$(57)+CHR$(186):LOCATE 23,8:PRINT CHR$(200)+STRING$(57,205)+CHR$(188):LOCATE 23,1,0:FOR I=1 TO 4000:NEXT I
  14. 230  KEY 1,"LIST ":KEY 2,"RUN"+CHR$(13):KEY 3,"LOAD"+CHR$(34):KEY 4,"SAVE"+CHR$(34):KEY 5,"CONT"+CHR$(13):KEY 6,","+CHR$(34)+"LPT1:"+CHR$(34)+CHR$(13):KEY 7,"TRON"+CHR$(13):KEY 8,"TROFF"+CHR$(13):KEY 9,"KEY "
  15. 240  KEY 10,"SCREEN "+CHR$(0)+","+CHR$(0)+","+CHR$(0)+CHR$(13):CLS:KEY ON:RUN"MENU.BAT
  16. 1000  '  initialize variables
  17. 1010  DATA 7,29,7,63,11,29,11,63,15,29,15,62,19,28,19,62,"N","N","N","N","N","66  ","12  ","8   ",1,127,1,85,1,80
  18. 1040  FOR I=1 TO 8:FOR J=1 TO 2:READ LN(I,J):NEXT J:NEXT I:FOR I=1 TO 8:READ VL$(I):NEXT:FOR I=1 TO 3:FOR J=1 TO 2:READ LIM(I,J):NEXT J:NEXT I:RETURN
  19. 1100  -240
  20. 2000  ' put up specification screen
  21. 2010  LOCATE 1,8:PRINT CHR$(201)+STRING$(57,205)+CHR$(187):LOCATE 2,8:PRINT CHR$(186)+"   I B M   M A T R I X   P R I N T E R   C O N T R O L   "+CHR$(186):LOCATE 3,8:PRINT CHR$(200)+STRING$(57,205)+CHR$(188)
  22. 2031  LOCATE 7,15,0:COLOR 0,7:PRINT "I N I T I A L I Z I N G    P R I N T E R"
  23. 2032  LPRINT CHR$(20);CHR$(18);CHR$(27);CHR$(70);CHR$(27);CHR$(72);CHR$(27);CHR$(57);CHR$(27);CHR$(67);CHR$(60);CHR$(27);CHR$(65);CHR$(12);CHR$(27);CHR$(50);
  24. 2033  LPRINT CHR$(27);CHR$(68);:FOR I=8 TO 79 STEP 8:LPRINT CHR$(I);:NEXT:LPRINT CHR$(0);
  25. 2034  FOR I=1 TO 2000:NEXT I:LOCATE 7,10:COLOR 7,0:PRINT SPACE$(35):LOCATE 7,1:PRINT "Double Width First Line?":LOCATE 7,43:PRINT "Compressed Print?":LOCATE 8,1:PRINT STRING$(23,196):LOCATE 8,43:PRINT STRING$(16,196)
  26. 2080  LOCATE 11,8:PRINT "Emphasized Print?":LOCATE 11,40:PRINT "Double Strike Print?":LOCATE 12, 8:PRINT STRING$(16,196):LOCATE 12,40:PRINT STRING$(19,196):LOCATE 15, 8:PRINT "Form Feed Defeat?"
  27. 2130  LOCATE 15,47:PRINT "Lines / Page?":LOCATE 16,8:PRINT STRING$(16,196):LOCATE 16,47:PRINT STRING$(12,196):LOCATE 19, 8:PRINT "Vertical Spacing?":LOCATE 19,37:PRINT "Horizontal Tab Spacing?":LOCATE 20,8:PRINT STRING$(16,196)
  28. 2140  LOCATE 20,37:PRINT STRING$(22,196)
  29. 2200  ' put up default control values
  30. 2210  FOR I=1 TO 5:LOCATE LN(I,1),LN(I,2):PRINT VL$(I):NEXT:FOR I=6 TO 8:LOCATE LN(I,1),LN(I,2)+1:PRINT VL$(I):NEXT:RETURN
  31. 3000  'get control specs
  32. 3010  FOR I=1 TO 5:COLOR 15,0:LOCATE LN(I,1),LN(I,2):PRINT VL$(I):LOCATE LN(I,1),LN(I,2),1:A$=""
  33. 3040  A$=INKEY$:IF A$="" GOTO 3040
  34. 3050  IF ASC(A$)<>13 THEN IF A$="Y" OR A$="y" THEN VL$(I)="Y" ELSE VL$(I)="N"
  35. 3060  COLOR 7,0:LOCATE LN(I,1),LN(I,2):PRINT VL$(I):NEXT
  36. 3080  IF VL$(2)="Y" THEN LIM(3,2)=132
  37. 3090  FOR I=6 TO 8:IF I=7 THEN SP=2 ELSE SP=3
  38. 3120  FOR J=1 TO 4
  39. 3130  COLOR 15,0:LOCATE LN(I,1),LN(I,2)+1:PRINT VL$(I):LOCATE LN(I,1),LN(I,2)+J,1:A$=""
  40. 3140  A$=INKEY$:IF A$="" GOTO 3140
  41. 3150  IF ASC(A$)=13 GOTO 3200
  42. 3160  IF A$>="0" AND A$<="9" THEN MID$(VL$(I),J,5-J)=A$+SPACE$(4-J):GOTO 3190
  43. 3170  IF ASC(A$)=8 AND J>1 THEN J=J-1:MID$(VL$(I),J,5-J)=SPACE$(4-J)
  44. 3180  GOTO 3130
  45. 3190  NEXT J
  46. 3200  COLOR 7,0:LOCATE LN(I,1),LN(I,2)+1:PRINT VL$(I):IF VAL(VL$(I))<LIM(I-5,1) OR VAL(VL$(I))>LIM(I-5,2) GOTO 3120
  47. 3240  NEXT I:RETURN
  48. 4000  ' send control codes to printer
  49. 4010  IF VL$(1)="Y" THEN VL(1)=14 ELSE VL(1)=20
  50. 4020  IF VL$(2)="Y" THEN VL(2)=15 ELSE VL(2)=18
  51. 4030  IF VL$(3)="Y" THEN VL(3)=69 ELSE VL(3)=70
  52. 4040  IF VL$(4)="Y" THEN VL(4)=71 ELSE VL(4)=72
  53. 4050  IF VL$(5)="Y" THEN VL(5)=56 ELSE VL(5)=57
  54. 4060  FOR I=6 TO 8:VL(I)=VAL(VL$(I)):NEXT
  55. 4090  LPRINT CHR$(VL(1));CHR$(VL(2));CHR$(27);CHR$(VL(3));CHR$(27);CHR$(VL(4));CHR$(27);CHR$(VL(5));CHR$(27);CHR$(67);CHR$(VL(6));CHR$(27);CHR$(65);CHR$(VL(7));CHR$(27);CHR$(50);CHR$(27);CHR$(68);
  56. 4120  FOR I=VL(8) TO LIM(3,2)-1 STEP VL(8):LPRINT CHR$(I);:NEXT:LPRINT CHR$(0);:RETURN
  57.